Over the past decades information technology (IT) systems have evolved and increased in complexity. Many years ago a company would use a single computer with a single operating system and small number of programs to supply the computational needs of the company. Nowadays enterprise companies may have hundreds and thousands of computers interconnected over a network.
Large enterprises rely on data centers comprising a vast number of servers and associated components, such as networking equipment, storage units, cooling systems, and power supplies. Servers host a plethora of business applications that empower business processes, execute business transaction, and serve consumer applications. Companies aim to have these applications reliable and responsive in order to deliver the services according to a specific Service Level Agreement (SLA). To implement the SLA, companies engage into problem management process dedicated to address emerging issues in IT environments. The process comprises problem detection, categorization, prioritization, diagnosis, root cause analysis, resolution, evaluation, and proactive remediation.
One of the key aspects to effectively and efficiently resolve problems is a detailed understanding of the IT environment. Multi-tiered enterprise application may include a plethora of heterogeneous components at various layers of the information technology stack spread over multiple physical hosts. The components typically depend on each other, meaning that a change in configuration parameter at one component might affect behavior of another component or even cause it to stop working. Keeping track of these dependencies is a challenge as they change over time, contain cross-product and cross-host dependencies, and require in-depth expert knowledge.
U.S. Pat. No. 9,524,465 to Gilenson et al (Dec. 20, 2016) discloses a system and method for analyzing and prioritizing changes and differences to configuration parameters in IT systems, the disclosure of which is incorporated herein by reference.
One approach for detecting dependencies is set forth for example in U.S. Patent publications to Mohaban et al US2013/0325899A1 (Dec. 5, 2013) and US2013/0332590A1 (Dec. 12, 2013), which disclose a top-down discovery process, where a single entry point is specified to identify a relevant process and an application with which that entry point is associated. Typically, it is sufficient for the entry point to be associated with a hostname or IP address and port numbers; in some applications, the entry point may be associated with a URL. Typically, discovery starts from the entry point and each of one or more software applications of interest.
An alternative approach is described in U.S. Patent publication to Gupta et al. US2010/0293168A (Nov. 18, 2010), which discloses a bottom-up approach for determining configuration parameters dependencies via analysis of configuration data from multi-tiered enterprise applications. The approach focuses on identifying a candidate set of configuration dependencies in a rank-ordering list. The approach is concerned with identifying dependency between parameters belonging to different IT components such that either both parameters have the same value or one is a substring of the other. Such candidate dependencies are then ranked according to the frequency, the number of hits on google, etc.